/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package fousquare;
import fi.foyt.foursquare.api.FoursquareApi;
import fi.foyt.foursquare.api.FoursquareApiException;
import fi.foyt.foursquare.api.Result;
import fi.foyt.foursquare.api.entities.CompactVenue;
import fi.foyt.foursquare.api.entities.VenuesSearchResult;
import java.util.LinkedList;
import javax.naming.directory.SearchResult;
import javax.servlet.http.HttpServletRequest;
import javax.swing.JOptionPane;

/**
 *
 * @author Djohnnatha
 */
public class Fousquare {
    
    /**
     * @param args the command line arguments
     */
    
     //Jtabletpainel
     public LinkedList<DadosLocal> searchAvenus(String pesquisa,int quant, DadosCriador autenticar) throws FoursquareApiException{
        //Inicializa o api do Foursquare
        FoursquareApi foursquare = new FoursquareApi(autenticar.getDadosCriador(),autenticar.getSenha(), autenticar.getUrl());//Autentica o desenvolvedor para dar acesso ao site
        CompactVenue local = null; //Cria uma variavel do compactVenue que é para receber os dados do local
        Result<VenuesSearchResult> resultado= foursquare.venuesSearch("João Pessoa", pesquisa, quant, null, null, null, null, null);
        
        /**
         * @param Result retorna os dados pesquisados na cidade João Pessoa
         */
        
        String nome,id,url,categoria,telefone,usuario,nomeRua,endere,Lat,Long;
        int cont,x=0;
        for(cont=0;cont<quant;cont++){
            if(resultado.getMeta().getCode() == 200 && resultado.getResult().getVenues().length != 0){
                local=resultado.getResult().getVenues()[cont];
                
                nome=local.getName().concat("   Pesquisar:"+pesquisa);
                id=local.getId();
                url=local.getUrl();
                categoria=local.getCategories()[0].getName();
                telefone=String.valueOf(local.getContact().getPhone());
                usuario=(String.valueOf(local.getStats().getUsersCount()));
                nomeRua=local.getName();
                endere=local.getLocation().getAddress();
                Lat=(String.valueOf(local.getLocation().getLat()));
                Long=(String.valueOf(local.getLocation().getLng()));
            
                dados.add(new DadosLocal(nome,id,url,categoria,telefone,usuario,
                            nomeRua,endere,Lat,Long));
                
                if(cont+1==quant)
                    x=2;
                }
           
            else{
            //se ocorrer erros
                String error;
                    error = ("Ocorreu um erro\n"+"Codigo:"+resultado.getMeta().getCode()+
                            "\nTipo de erro: "+resultado.getMeta().getErrorType()+
                            "Detalhe do Erro:"+resultado.getMeta().getErrorDetail());
                        new FoursquareApiException(error);
            }
        }
            if(x==2)
                return dados;
            else
                return null;
        }
     
        private static LinkedList<DadosLocal> dados = new LinkedList<DadosLocal>();
  }
    
